考点:PHP伪随机数的破解
打开
以为是爆破后面10位密码,用bp提交了下,发现好像回显有代码,找到后发现被隐藏了,解开得到下面。
1 |
|
这道题,在我去搜索mt_rand函数的用法的时候,搜索到一些信息。mt_rand是用来生成随机数的,但是如果mt_srand()函数的seep参数被固定后,mt_rand函数生成的随机数,就会有迹可循。
1 | $str_long1 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; |
这句代码的意思是 随机截取一个字符串,在$str_long1这个字符串当中,但是我们如果需要爆破的话,需要找到截取到的字符串对应的下位置,因为这个位置就是mt_rand生成的随机数。
根据对应的字符串 来生成对应的 数字
假设 这个字符串为VbjzN5cCrb
1 |
|
再用php_mt_seed工具进行爆破
1 | ┌──(kali㉿kali)-[~/Downloads/php_mt_seed-4.0] |
用php_mt_seed破解出来的seed值,再重新来生成完整的20位字符串。
1 |
|
写了大致的解题过程,文本对不上,因为这个工具太不靠谱了,试了好几次,都解不出来。